package com.example.demo.a;

import com.example.demo.base.B;
import com.example.demo.base.BaseControl;
import org.springframework.stereotype.Component;

/**
 * @author masc
 * @date 2022-09-07 16:31
 * <p></p>
 */
@Component
public class AControl extends BaseControl<A> {

    //构造方法初始化key值，为了满足策略模式中的工厂赋值 方便找到
    public AControl() {
        this.variantFormId = 1; //设置key值 （容器中需要确保能唯一区分）
    }

    @Override
    public A queryVariant(String value) {
        System.out.println("传入的值:"+value);
        A a = new A();
        a.setAa("a里的aa值");
        a.setBb("a里的bb值");
        return a;
    }

    public void updateTest(B b) {
        super.updateTest(b); // 父类方法不会调用，若要执行，需要使用supper显示调用
        A a = getVariantT(b);
        System.out.println("更新A对象aa"+a.getAa());
        System.out.println("更新A对象bb"+a.getBb());
        //update A 类
    }

}
